:>   macro


Defined in:  https://github.com/digego/extempore/tree/v0.8.9/libs/core/pattern-language.xtm

Implementation

;; start or modify looper
(define-macro (:> tag . args)
  (let ((tagtime (string->symbol (string-append (symbol->string tag) "_tagtime"))))
    (if (not (defined? tagtime)) (eval `(define ,tagtime (now)) (interaction-environment)))
    (if (< (eval tagtime) (- (now) (* 2 *second*)))
        (eval `(define ,tag #f) (interaction-environment)))
    (if (and (defined? tag) (closure? (eval tag)))
        `(rmap-loop-runner ,tag ,tagtime modify ,@args)
        `(rmap-loop-runner ,tag ,tagtime start ,@args))))


Back to Index

Similar Entries

  • 1900->1970    scheme    /digego/extempore/tree/v0.8.9/libs/core/topclock.xtm
  • 1970->1900    scheme    /digego/extempore/tree/v0.8.9/libs/core/topclock.xtm
  • <>    scheme    /digego/extempore/tree/v0.8.9/runtime/init.xtm
  • anyatom->string    scheme    /digego/extempore/tree/v0.8.9/runtime/init.xtm
  • char-ci>=?    scheme    /digego/extempore/tree/v0.8.9/runtime/init.xtm
  • char-ci>?    scheme    /digego/extempore/tree/v0.8.9/runtime/init.xtm
  • char>=?    scheme    /digego/extempore/tree/v0.8.9/runtime/init.xtm
  • char>?    scheme    /digego/extempore/tree/v0.8.9/runtime/init.xtm
  • clock->samples    scheme    /digego/extempore/tree/v0.8.9/runtime/scheme.xtm
  • exact->inexact    scheme    /digego/extempore/tree/v0.8.9/runtime/init.xtm
  • file->string    scheme    /digego/extempore/tree/v0.8.9/runtime/scheme.xtm
  • list->string    scheme    /digego/extempore/tree/v0.8.9/runtime/init.xtm
  • list->vector    scheme    /digego/extempore/tree/v0.8.9/runtime/init.xtm
  • number->string    scheme    /digego/extempore/tree/v0.8.9/runtime/init.xtm
  • pc:chord->scale    scheme    /digego/extempore/tree/v0.8.9/libs/core/pc_ivl.xtm
  • samples->clock    scheme    /digego/extempore/tree/v0.8.9/runtime/scheme.xtm
  • string->anyatom    scheme    /digego/extempore/tree/v0.8.9/runtime/init.xtm
  • string->list    scheme    /digego/extempore/tree/v0.8.9/runtime/init.xtm
  • string->number    scheme    /digego/extempore/tree/v0.8.9/runtime/init.xtm
  • string->sexpr    scheme    /digego/extempore/tree/v0.8.9/runtime/scheme.xtm
  • string-ci>=?    scheme    /digego/extempore/tree/v0.8.9/runtime/init.xtm
  • string-ci>?    scheme    /digego/extempore/tree/v0.8.9/runtime/init.xtm
  • string>=?    scheme    /digego/extempore/tree/v0.8.9/runtime/init.xtm
  • string>?    scheme    /digego/extempore/tree/v0.8.9/runtime/init.xtm
  • vector->list    scheme    /digego/extempore/tree/v0.8.9/runtime/init.xtm